package com.networkmanagerj.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import br.com.networkmanagerj.persistence.IEntity;

import com.networkmanagerj.model.tipos.TipoAcaoMensagem;

@Entity
@Table(name = "acao_mensagem")
//@NamedQueries({
//		@NamedQuery(name = "AcaoMensagem.searchAsc", query = "select u from AcaoMensagem u order by u.acaoMensagemId asc"),
//		@NamedQuery(name = "AcaoMensagem.searchDesc", query = "select u from AcaoMensagem u order by u.acaoMensagemId desc") })
public class AcaoMensagem implements IEntity{

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "acao_mensagem_id", nullable = false, unique = true)
	private Integer id;
	
	@ManyToOne
	@JoinColumn(name = "mensagem_id", nullable = false)
	private Mensagem mensagem;
	
	@Column(name = "tipo_acao")
	private Integer tipoAcao;
	
	private String texto;

	public AcaoMensagem() {
		// TODO Auto-generated constructor stub
	}
	
	public AcaoMensagem(Integer acaoMensagemId, Mensagem mensagem,
			Integer tipoAcao, String texto) {
		super();
		this.id = acaoMensagemId;
		this.mensagem = mensagem;
		this.tipoAcao = tipoAcao;
		this.texto = texto;
	}

	/**
	 * @return the acaoMensagemId
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * @param acaoMensagemId the acaoMensagemId to set
	 */
	public void setId(Integer acaoMensagemId) {
		this.id = acaoMensagemId;
	}

	/**
	 * @return the mensagem
	 */
	public Mensagem getMensagem() {
		return mensagem;
	}

	/**
	 * @param mensagem the mensagem to set
	 */
	public void setMensagem(Mensagem mensagem) {
		this.mensagem = mensagem;
	}

	/**
	 * @return the tipoAcao
	 */
	public Integer getTipoAcao() {
		return tipoAcao;
	}

	/**
	 * @param tipoAcao the tipoAcao to set
	 */
	public void setTipoAcao(Integer tipoAcao) {
		this.tipoAcao = tipoAcao;
	}
	
	/**
	 * @return the texto
	 */
	public String getTexto() {
		return texto;
	}

	/**
	 * @param texto the texto to set
	 */
	public void setTexto(String texto) {
		this.texto = texto;
	}
	
	
}
